The invention relates to a method of generating a workflow on a computer for guiding a user through a sequence of activities.
The widespread deployment of the Internet has created a situation in which intelligent systems can be accessed from outside a company or organization hosting it. Intelligent systems have been used to a certain extent to substitute the personal assistance and services of humans (e.g. experts). But the fact that this use may now extend more widely, by use of the Internet, and the fact that intelligent systems have advanced in reach, now open more opportunities for substituting human experts by assisting users through to solutions to problems or to results that match a need on a self-service basis.
In order to do so in a generic fashion, it is necessary to deploy a method and a system, which can interactively guide the user through a number of activities, where these activities continuously match the situation and knowledge of the user, such that these activities lead to the desired result or solution. Furthermore it is necessary to provide for a way of working, which is usually employed by a human expert when interacting with the user, such that it allows the user to learn more about his situation and needs as he proceeds with the activities. Therefore it is necessary to support a “trial-and-error” way of working with support for change requests etc.
Finally it is desirable to reap a number of benefits provided by a system, which cannot be delivered by a human. One of these benefits is the fact that a system can set up another system (the “result” or “solution”) instantaneously, provided this other system is managed by a computer and accessible via a network (such as the Internet). A human expert would typically have to key in data in order to perform the same job, something that is very time consuming. Another of these benefits is the fact that a system can keep track of infinite amounts of details, whereas humans have limited storing capabilities in their consciousness and often have to compensate by imposing rigid structures on the process that leads to the result or solution.
Any activities, methods or problem solutions, more broadly known just as tasks, may be broken down into a set of smaller, less complicated steps, either with a logical execution order, because some steps have to be completed before one or more other steps, or without a logical execution order, because the steps are not dependent on other steps. It has then been a matter of the skill-level of the user how this was done. A user with vast knowledge of the activities and with suitable experience is able to navigate through the activities in an intuitive way (the human expert), by doing the necessary steps (and these only) in, what his experience tells him, is the best possible sequence. A user with little or no knowledge or experience, is forced to use specified steps, e.g. in the form of a checklist or procedure (perhaps put down by the human expert previously mentioned) in a specific sequence, possibly without any understanding why this has to be done in this fashion. The human expert, who designs the procedure putting down the specified steps, because he has no specific knowledge of the specific situation of the user, is forced to include possibly unnecessary or possibly redundant steps to take care of any eventualities. For smaller activities this is perhaps the best way, because a limited number of variables, gives a limited number of steps and interconnections between the steps, and thereby a procedure with limited complexity. However, as the activities increase in size, the number of steps and number of interconnections increase, making it more and more possible that something is missing, misleading or wrong. Furthermore, as the activities increase in size, it becomes possible/desirable that more than a single person is working on it, either because the activities require more than one person, or because the activities are completed more quickly.
Because a human expert will not always be accessible or in order to provide faster and instant access via the Internet and/or because the activities broken down into single steps with dependencies may become vast and complicated, a computer system emulating the function of the expert is possibly not only a sub-optimal and cheaper solution, in some cases it will actually be the optimal solution (in addition to being the cheapest solution). This is because it becomes difficult for the human expert to coordinate a vast number of interdependent steps, especially if more than one person is working on the activities at the same time, or if many details of the process activities creates a vast number of variants of the activities.
Many methods exist for organising activities. Among these, two are of special interest. They are workflow-managers and expert systems.
A workflow-manager works by getting information on the activities (and possibly a combination of these), the steps involved and their interconnections and then setting up the individual steps. The workflow manager then is used to distribute the workload and ensure that no step is initiated before all steps it depends on are completed. The workflow-manager is used to coordinate the available resources. The workflow-manager sets up the individual steps in a logical sequence, ensuring that if step A has to be completed before step B, it will take this into account while allowing not interconnected steps that do not depend on each other to be completed in any sequence desired by the user. It is of course also possible for the workflow-manager to include several steps to be the interdependence of a step (such that both A, B and C need to be completed before step D).
Expert systems are useful in many areas. Among these are the ability to apparently emulate an intelligent approach to solve a problem. In thise use the expert system works by taking a number of inputs (the symptoms) describing the problem or need or attributes of a desired task and goal as an input describing the problem at hand. The expert system then consults a database of sub-solutions, logic rules, inference rules to guide the dialogue with the user and formulates a solution (the cure) that involves some set of activities to complete, typically formulated as a text or composite set of data, possibly outlining a workflow, all of which is however static, once the solution is devised.
The underlying problem of using a workflow manager or an expert system to emulate the human expert is that the human expert does not work from a pre-arranged sequence of steps as with the workflow-manager, neither does he formulate a static cure based on the symptoms polled once as the expert system. The human expert may have a workflow planned, based on the initial information, but he continues to modify the workflow based on the progress of his work. This may include adding or removing steps as he discovers that they become necessary or unnecessary, modifying the interconnections of the steps and possibly having to redo already completed steps based on information from later steps and having to change the cure as more information and experience becomes available.